//package com.shwread.android.ui.widget;
//
//import java.lang.reflect.Type;
//import java.util.ArrayList;
//import java.util.List;
//
//import logic.bean.AppointmentInfo;
//import logic.constants.Const;
//import logic.constants.DefaultConsts;
//import logic.util.DateUtil;
//import logic.util.ImageLoaderUtil;
//import logic.util.Utils;
//
//import org.apache.http.Header;
//
//import android.annotation.SuppressLint;
//import android.content.Context;
//import android.content.Intent;
//import android.os.Message;
//import android.util.AttributeSet;
//import android.view.LayoutInflater;
//import android.view.View;
//import android.view.ViewGroup;
//import android.widget.BaseAdapter;
//import android.widget.ImageView;
//import android.widget.LinearLayout;
//import android.widget.RelativeLayout;
//import android.widget.ScrollView;
//import android.widget.TextView;
//
//import com.google.gson.reflect.TypeToken;
//import com.shwread.android.qysw10000133.R;
//import com.shwread.android.qysw.activity.MyAppointmentListActivity;
//import com.shwread.android.qysw.activity.OrderSeatActivity;
//import com.shwread.android.ui.customview.MyListView;
//import com.shwread.android.ui.widget.refresh.PullToRefreshScrollView;
//import com.shwread.android.ui.widget.refresh.PullToRefreshUtil;
//import com.shwread.android.ui.widget.refresh.base.PullToRefreshBase;
//import com.shwread.android.ui.widget.refresh.base.PullToRefreshBase.OnRefreshListener;
//
//import com.shwread.http.base.ObjectHttpResponseHandler;
//import com.shwread.http.util.Logger;
//import com.shwread.httpsdk.util.NetUtil;
//
//
///**
// * 我的预约列表
// *
// * @author zhangnannan
// */
//public class MyAppointmentView
//        extends
//        LinearLayout
//{
//	private MyAppointmentListActivity mActivity;
//	private MyListView                lvMyAppointment;
//	private PullToRefreshScrollView   psView;
//	private MyAppointmentAdapter      adapter           = new MyAppointmentAdapter();
//	private List<AppointmentInfo>     myAppointmentInfo = new ArrayList<AppointmentInfo>();
//	private LinearLayout              llayEmpty;
//	private TextView                  tvEmptyText;
//	private TextView                  tvEmptyBtn;
//	private ImageView                 ivEmptyIcon;
//	private boolean                   isHasMore         = true;
//	private long                      lastItemCreatTime = 0L;
//	private int                       getDataType       = 0;                               //0 首次加载  1刷新  2加载更多
//	private int                       pageLength        = 10;
//	private RelativeLayout            rlTitle;
//
//	public MyAppointmentView(MyAppointmentListActivity context) {
//		super(context);
//		mActivity = context;
//		initWithContext(context);
//	}
//
//	@SuppressLint ("NewApi")
//	public MyAppointmentView(MyAppointmentListActivity context, AttributeSet attrs, int defStyle) {
//		super(context, attrs, defStyle);
//		mActivity = context;
//		initWithContext(context);
//	}
//
//	public MyAppointmentView(MyAppointmentListActivity context, AttributeSet attrs) {
//		super(context, attrs);
//		mActivity = context;
//		initWithContext(context);
//	}
//
//	private void initWithContext(Context context) {
//		LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
//		View view = LayoutInflater.from(context).inflate(R.layout.om_my_appointment, null);
//		rlTitle = (RelativeLayout) view.findViewById(R.id.common_title_layout);
//		rlTitle.setVisibility(View.GONE);
//		psView = (PullToRefreshScrollView) view.findViewById(R.id.om_my_appointment_psv);
//		lvMyAppointment = (MyListView) view.findViewById(R.id.om_my_appointment_list);
//		llayEmpty = (LinearLayout) view.findViewById(R.id.om_my_appointment_empty_llay);
//		tvEmptyText = (TextView) view.findViewById(R.id.om_my_appointment_empty_text);
//		tvEmptyBtn = (TextView) view.findViewById(R.id.om_my_appointment_empty_btn);
//		tvEmptyText.setText("您还没有预约过哦");
//		tvEmptyBtn.setText("立即订座");
//		ivEmptyIcon = (ImageView) view.findViewById(R.id.om_my_appointment_empty_icon);
//		ivEmptyIcon.setImageResource(R.drawable.om_my_appointment_empty_icon);
//		adapter = new MyAppointmentAdapter();
//		lvMyAppointment.setAdapter(adapter);
//
//		addView(view, lp);
//		PullToRefreshUtil.initLabel(mActivity, psView);
//
//		getMyAppointmentList();
//
//		tvEmptyBtn.setOnClickListener(new OnClickListener()
//		{
//
//			@Override
//			public void onClick(View v) {
//				//				OrderIndexPage orderIndexPage = new OrderIndexPage(mActivity);
//				//				mActivity.changePage(orderIndexPage, IUIPage.UPDATE_STATUS);
//				mActivity.startActivity(new Intent(mActivity, OrderSeatActivity.class));
//			}
//		});
//		psView.setOnRefreshListener(new OnRefreshListener<ScrollView>()
//		{
//
//			@Override
//			public void onRefresh(PullToRefreshBase<ScrollView> refreshView) {
//				if (psView.isHeaderShown())
//				{
//					refrush();
//				}
//				else if (psView.isFooterShown())
//				{
//					loadMore();
//				}
//			}
//		});
//
//	}
//
//	private void getMyAppointmentList() {
//		NewActionHelp.setAccount(Const.phone_number);
//		NewActionHelp.setLoginKey(Const.login_key);
//		System.out.println("==" + NetUtil.getImei(mActivity) + "==" + NetUtil.getPsdnIp() + Const.SERVER_URL.equals("http://42.121.255.69:8080/hzlqswserver") + "\nconst===" + Const.phone_number + "======" + Const.login_key + "===action==" + NewActionHelp.getAccount() + "=====" + NewActionHelp.getAccountType() + "====" + NewActionHelp.getClientType() + "===" + NewActionHelp.getLoginKey() + "====" + NewActionHelp.getEnterpriseId());
//		NewActionHelp.qryAppiontmentList(mActivity, lastItemCreatTime, pageLength, new GetAppointmentListHandler());
//	}
//
//	/**
//	 * 加载更多
//	 */
//	private void loadMore() {
//		if (isHasMore)
//		{
//			getDataType = 2;
//			getMyAppointmentList();
//			PullToRefreshUtil.initLabel(mActivity, psView);
//		}
//		else
//		{
//			PullToRefreshUtil.setLoadLabel(psView, "没有更多了");
//			psView.onRefreshComplete();
//		}
//	}
//
//	/**
//	 * 刷新页面数据
//	 */
//	private void refrush() {
//		getDataType = 1;
//		lastItemCreatTime = 0L;
//		PullToRefreshUtil.initLabel(mActivity, psView);
//		getMyAppointmentList();
//	}
//
//	class GetAppointmentListHandler
//	        extends
//	        ObjectHttpResponseHandler<List<AppointmentInfo>>
//	{
//
//		@Override
//		public void onFailure(int arg0, Header[] arg1, String arg2, Throwable arg3) {
//			Logger.i(arg2);
//			if (mActivity.isAppExit) Const.clear();
//			if (getDataType != 2)
//			{
//				//				loadingView.changeLoadingStatus(-1);
//				lvMyAppointment.setVisibility(View.GONE);
//				llayEmpty.setVisibility(View.VISIBLE);
//			}
//			if (getDataType != 0)
//			{
//				psView.onRefreshComplete();
//			}
//			if (getDataType == 0)
//			{
//				//  通知Activity 第一次数据请求已经完成	 停止加载动画
//				Message msg = new Message();
//				msg.what = DefaultConsts.MY_APPOINTMENT_FAIL;
//				mActivity.getUIHandler().sendMessage(msg);
//			}
//		}
//
//		@Override
//		public void onSuccess(int arg0, Header[] arg1, List<AppointmentInfo> arg2, String arg3) {
//			if (mActivity.isAppExit) Const.clear();
//			if (getDataType == 0)
//			{
//				//  通知Activity 第一次数据请求已经完成	 停止加载动画
//				Message msg = new Message();
//				msg.what = DefaultConsts.MY_APPOINTMENT_SUCCESS;
//				mActivity.getUIHandler().sendMessage(msg);
//			}
//
//			if (getDataType != 0)
//			{
//				psView.onRefreshComplete();
//			}
//			if (arg2 != null && arg2.size() > 0)
//			{
//				lastItemCreatTime = arg2.get(arg2.size() - 1).getCreateTime();
//				if (arg2.size() < pageLength)
//				{
//					isHasMore = false;
//				}
//				else
//				{
//					isHasMore = true;
//				}
//
//				if (getDataType != 2)
//				{
//					if (myAppointmentInfo.size() > 0) myAppointmentInfo.clear();
//				}
//				myAppointmentInfo.addAll(arg2);
//				lvMyAppointment.setVisibility(View.VISIBLE);
//				llayEmpty.setVisibility(View.GONE);
//				adapter.notifyDataSetChanged();
//			}
//			else
//			{
//				isHasMore = false;
//				if (getDataType != 2)
//				{
//					//					loadingView.changeLoadingStatus(1);
//					lvMyAppointment.setVisibility(View.GONE);
//					llayEmpty.setVisibility(View.VISIBLE);
//				}
//			}
//
//		}
//
//		@Override
//		public Type getType() {
//			// TODO Auto-generated method stub
//			return new TypeToken<List<AppointmentInfo>>()
//			{
//			}.getType();
//		}
//
//	}
//
//	class MyAppointmentAdapter
//	        extends
//	        BaseAdapter
//	{
//
//		@Override
//		public int getCount() {
//			return (myAppointmentInfo == null || myAppointmentInfo.size() == 0 ? 0 : myAppointmentInfo.size());
//			//			return 6;
//		}
//
//		@Override
//		public Object getItem(int position) {
//			return (myAppointmentInfo == null || myAppointmentInfo.size() == 0 ? "" : myAppointmentInfo.get(position));
//		}
//
//		@Override
//		public long getItemId(int position) {
//			return position;
//		}
//
//		@Override
//		public View getView(int position, View convertView, ViewGroup parent) {
//			ViewHolder holder = new ViewHolder();
//			if (convertView == null)
//			{
//				convertView = LayoutInflater.from(mActivity).inflate(R.layout.om_my_appointment_item, parent, false);
//				holder.ivCover = (ImageView) convertView.findViewById(R.id.om_my_appointment_item_cover_iv);
//				holder.tvStoretext1 = (TextView) convertView.findViewById(R.id.om_my_appointment_item_store_text1);
//				holder.tvStoretext2 = (TextView) convertView.findViewById(R.id.om_my_appointment_item_store_text2);
//				holder.tvStoretext3 = (TextView) convertView.findViewById(R.id.om_my_appointment_item_store_text3);
//				holder.tvBottomTime = (TextView) convertView.findViewById(R.id.om_my_appointment_item_bottom_time_tv);
//				holder.tvBottom1 = (TextView) convertView.findViewById(R.id.om_my_appointment_item_bottom_right_tv1);
//				holder.tvBottom2 = (TextView) convertView.findViewById(R.id.om_my_appointment_item_bottom_right_tv2);
//				holder.ivCall = (ImageView) convertView.findViewById(R.id.om_my_appointment_item_store_phone);
//				holder.ivCall.setVisibility(View.GONE);
//				convertView.setTag(holder);
//			}
//			else
//			{
//				holder = (ViewHolder) convertView.getTag();
//			}
//			final AppointmentInfo info = (AppointmentInfo) getItem(position);
//			if (Utils.isEmpty(info.getLogoUrl()))
//			{
//				holder.ivCover.setImageResource(R.drawable.bg_small_image);
//			}
//			else
//			{
//				ImageLoaderUtil.loadWebUrl(info.getLogoUrl(), holder.ivCover, ImageLoaderUtil.getOptions(R.drawable.bg_small_image));
//			}
//			holder.tvStoretext1.setText(info.getStoreName());
//			if (info.getStatus() == 0)
//			{
//				holder.tvStoretext2.setText("安排中");
//			}
//			else
//			{
//
//				if (Utils.isEmpty(info.getTableNo()))
//				{
//					holder.tvStoretext2.setText(info.getZoneName());
//				}
//				else
//				{
//					holder.tvStoretext2.setText(info.getZoneName() + " " + info.getTableNo());
//				}
//			}
//			if (Utils.isEmpty(info.getAppiontmentTime()) || info.getAppiontmentTime().equals("null-null"))
//			{
//				holder.tvStoretext3.setText("就餐时间:" + DateUtil.getDate(info.getAppiontmentDate()));
//			}
//			else
//			{
//				holder.tvStoretext3.setText("就餐时间:" + DateUtil.getDate(info.getAppiontmentDate()) + " " + info.getAppiontmentTime());
//			}
//			holder.tvBottomTime.setText(DateUtil.getDateToMinuteForDot(info.getCreateTime()));
//			holder.tvBottomTime.setVisibility(View.VISIBLE);
//			holder.tvBottom2.setVisibility(View.VISIBLE);
//			holder.tvBottom1.setVisibility(View.VISIBLE);
//			switch (info.getStatus()) {
//				case 0:
//					holder.tvBottom1.setText("取消预约");
//					holder.tvBottom1.setEnabled(false);
//					holder.tvStoretext2.setText("安排中");
//					holder.tvBottom1.setVisibility(View.GONE);
//					holder.tvBottom2.setVisibility(View.GONE);
//					holder.tvStoretext2.setVisibility(View.VISIBLE);
//					break;
//				case 1:
//					holder.tvBottom1.setText("取消预约");
//					holder.tvBottom1.setEnabled(false);
//					//					holder.tvStoretext2.setText(info.getZoneName() + info.getPeopleNum() + "人桌" + info.getTableNo());
//					holder.tvBottom1.setVisibility(View.GONE);
//					holder.tvBottom2.setVisibility(View.GONE);
//					break;
//				case 2:
//					holder.tvBottom1.setText("预约失败");
//					holder.tvBottom1.setVisibility(View.GONE);
//					holder.tvBottom2.setVisibility(View.GONE);
//					break;
//				case 3:
//					holder.tvBottom1.setText("点餐");
//					//					holder.tvStoretext2.setText(info.getZoneName() + info.getPeopleNum() + "人桌" + info.getTableNo());
//					holder.tvBottom1.setVisibility(View.GONE);
//					holder.tvBottom2.setVisibility(View.GONE);
//					break;
//				case 4:
//					holder.tvBottom1.setText("评价");
//					holder.tvBottom1.setVisibility(View.GONE);
//					holder.tvBottom2.setVisibility(View.GONE);
//					break;
//				case 5:
//					holder.tvStoretext2.setText("已取消");
//					holder.tvBottom2.setText("已取消");
//					//显示取消原因
//					holder.tvStoretext2.setVisibility(View.GONE);
//					holder.tvBottom1.setVisibility(View.GONE);
//					holder.tvBottom2.setVisibility(View.VISIBLE);
//					break;
//				case 6: //待买单
//					holder.tvBottom1.setText("买单");
//					//					holder.tvStoretext2.setText(info.getZoneName() + info.getPeopleNum() + "人桌" + info.getTableNo());
//					holder.tvBottom1.setVisibility(View.GONE);
//					holder.tvBottom2.setVisibility(View.GONE);
//					break;
//				default:
//					break;
//			}
//			holder.tvBottom2.setOnClickListener(new OnClickListener()
//			{
//
//				@Override
//				public void onClick(View v) {
//					//					clickCancelAppointment(info);
//				}
//
//			});
//
//			holder.tvBottom1.setOnClickListener(new OnClickListener()
//			{
//
//				@Override
//				public void onClick(View v) {
//					//					clickBottomText2(info);
//				}
//
//			});
//			return convertView;
//		}
//	}
//
//	class ViewHolder
//	{
//		ImageView ivCover;
//		TextView  tvStoretext1, tvStoretext2, tvStoretext3;
//		TextView  tvBottomTime;
//		TextView  tvBottom1, tvBottom2;
//		ImageView ivCall;
//	}
//
//}
